package com.fbs.wowo.manage.service;

import com.fbs.wowo.exception.InputVerifyFailedException;
import com.fbs.wowo.exception.NoSuchDataException;
import com.fbs.wowo.manage.entity.Account;
import com.fbs.wowo.manage.vo.NamePassVo;
import com.fbs.wowo.manage.vo.Wallet;

public interface AccountService {

    /**
     * 根据输入的密码判断
     * @param vo userId password
     */
    void verifyPass(NamePassVo vo) throws InputVerifyFailedException;

    /**
     * 用户是否设置过密码
     * @param   userId 用户id
     * @return  1 设置过 0 未设置过
     */
    int hasSetPass(String userId);
    /**
     * 修改账户支付密码
     */
    void modifyPayPassword(NamePassVo vo) throws NoSuchDataException;

    /**
     * 忘记支付密码
     */
    void forgetPayPassword(NamePassVo vo) throws NoSuchDataException;

    /**
     * 我的钱包
     */
    Account findByUserId(String userId);

    /**
     * 获取钱包内容
     * 更新入账记录
     */
    Wallet wallet(String userId);

}
